#include <cstring>
#include <iostream>
#include <queue>
#include <functional>
using namespace std;


//int x1, y1, x2, y2;
//int n, m;
//const int N = 1005;
//char arr[N][N];
//int dp[N][N];
//int dx[4] = { 0,0,1,-1 };
//int dy[4] = { 1,-1,0,0 };
//
//int dfs()
//{
//    if (arr[x1][y1] == '*' || arr[x2][y2] == '*')
//    {
//        return -1;
//    }
//    memset(dp, -1, sizeof(dp));
//    dp[x1][y1] = 0;
//    queue<pair<int, int>> q;
//    q.push({ x1,y1 });
//    while (q.size())
//    {
//        pair<int, int> a = q.front();
//        q.pop();
//        for (int i = 0; i < 4; i++)
//        {
//            int x = a.first + dx[i];
//            int y = a.second + dy[i];
//            if (x >= 1 && x <= n && y >= 1 && y <= m && arr[x][y] == '.' && dp[x][y] == -1)
//            {
//                q.push({ x,y });
//                dp[x][y] = dp[a.first][a.second] + 1;
//            }
//            if (x == x2 && y == y2)
//            {
//                return dp[x][y];
//            }
//        }
//    }
//    return -1;
//}
//
//int main() {
//    cin >> n >> m >> x1 >> y1 >> x2 >> y2;
//    for (int i = 1; i <= n; i++)
//    {
//        for (int j = 1; j <= m; j++)
//        {
//            cin >> arr[i][j];
//        }
//    }
//    cout << dfs() << endl;
//    return 0;
//}
//
//
//class Solution {
//public:
//    struct my_sort
//    {
//        bool operator()(vector<int> x1, vector<int> x2)
//        {
//            return x2 > x1;
//        }
//    };
//    int minmumNumberOfHost(int n, vector<vector<int> >& startEnd) {
//        sort(startEnd.begin(), startEnd.end(), my_sort());
//        priority_queue<int, vector<int>, greater<int>> q;
//        q.push(startEnd[0][1]);
//        for (int i = 1; i < n; i++)
//        {
//            if (startEnd[i][0] >= q.top())
//            {
//                q.pop();
//                q.push(startEnd[i][1]);
//            }
//            else
//            {
//                q.push(startEnd[i][1]);
//            }
//        }
//        return q.size();
//    }
//};
//
//int main() {
//    int q;
//    cin >> q;
//    vector<int> p(q);
//    for (int i = 0; i < q; i++)
//    {
//        cin >> p[i];
//    }
//    for (int i = 0; i < q; i++)
//    {
//        int arr[10] = { 0 };
//        if (p[i] % 2 != 0)
//        {
//            while (p[i])
//            {
//                arr[p[i] % 10]++;
//                p[i] /= 10;
//            }
//            if (arr[0] == 0 && arr[2] == 0 && arr[4] == 0 && arr[6] == 0 && arr[8] == 0)
//            {
//                p[i] = -1;
//                continue;
//            }
//            int sum = 0;
//            for (int i = 1; i < 10; i += 2)
//            {
//                while (arr[i])
//                {
//                    sum = sum * 10 + i;
//                    arr[i]--;
//                }
//            }
//            for (int i = 0; i < 10; i += 2)
//            {
//                while (arr[i])
//                {
//                    sum = sum * 10 + i;
//                    arr[i]--;
//                }
//            }
//            p[i] = sum;
//        }
//    }
//    for (int i = 0; i < q; i++)
//    {
//        cout << p[i] << endl;
//    }
//    return 0;
//}